package com.deng.framework.context.support;

import com.deng.framework.beans.BeansException;

/**
 *  应用上下文实现类
 *  其实该做的前面抽象类都已经帮忙做好了，这里就是配置下具体的实现即可
 *  这个类也是当下IOC对外暴露的类
 */
public class ClassPathXmlApplicationContext extends AbstractXmlApplicationContext {

    private String[] configLocations;

    public ClassPathXmlApplicationContext() {
    }

    /**
     * 从 XML 中加载 BeanDefinition，并刷新上下文
     * 其实最后还是交给refresh实现的
     */
    public ClassPathXmlApplicationContext(String configLocations) throws BeansException {
        this(new String[]{configLocations});
    }

    /**
     * 从 XML 中加载 BeanDefinition，并刷新上下文
     */
    public ClassPathXmlApplicationContext(String[] configLocations) throws BeansException {
        this.configLocations = configLocations;
        refresh();
    }

    @Override
    protected String[] getConfigLocations() {
        return configLocations;
    }

}
